/**
 * 总结（个人，不一定对）：
 *   通过这两个例子我总结 流一定是共同存在才有意义，且能互相消费
 *    我们需要消费可读流时  需要使用可写流进行消费可读流
 *    我们需要消费可写流时  需要使用可读流进行消费可写流
 */

const { Readable } = require("stream");

const inStream = new Readable({});

/**
 * 这里有一个实现可读流简单的方式。我们可以直接 push 消费者想要消费的数据。
 */
inStream.push("Hello world");
inStream.push("Jimmy");
inStream.push("xuexue");
inStream.push("Jack");
inStream.push(null); // 当我们 push 一个 null 对象，意味着我们想要标识流没有更多的数据了。

/**
 * 为了消费这个简单的可读的流，我们可以简单地将它导入到可写流 process.stdout。
 */
inStream.pipe(process.stdout);
/**
 * 最终控制台会输出 Hello worldJimmyxuexueJack
 */
